home *** CD-ROM | disk | FTP | other *** search
/ Ultimedia 1 / Ultimedia 1.iso / tools / grafiktools / aive / aive.docf < prev    next >
Encoding:
Text File  |  1994-03-14  |  9.0 KB  |  221 lines

  1.                            Amiga Image ViewEr
  2.                               version 1.5
  3.                              Mars 1994
  4.  
  5.  
  6. Rôle : Afficher des images en 256 couleurs sur un Amiga de base .
  7. ------
  8.  
  9. Copyright :
  10. -----------
  11.    AIVE est (c) 1994 Laurent Vivier . Il ne peut être vendu dans un but
  12. commercial sans mon autorisation écrite . Tout distribution ne peut exiger
  13. plus de 15FF de frais . Plus généralement, je n'autorise personne à
  14. distribuer ce logiciel dans un but lucratif sans mon autorisation écrite .
  15.    Ce logiciel ne peut être distribué séparé de ses documentations . Les
  16. fichiers "AIVE","AIVE.docF","AIVE.docE" ne peuvent donc être séparés .
  17.  
  18.    Je pense qu'on peut classer ce logiciel parmi les "Freeware", je ne
  19. demande donc rien en échange, sinon que les personnes susceptibles de le
  20. faire progresser me fasse parvenir leurs informations (nouveaux formats,
  21. nouveaux algorithmes, documents techniques concernant l'Amiga) .
  22.  
  23. Avertissement :
  24. ---------------
  25.  
  26.    Je décline toute responsabilité quant à l'utilisation de ce logiciel .
  27. Toute utilisation se fait à vos risques et périls .
  28.  
  29. Contact :
  30. ---------
  31.  
  32.    Adresse postale :
  33.  
  34.             Laurent Vivier
  35.             Avenue Général De Gaulle
  36.             38380 Saint Laurent du Pont
  37.             FRANCE
  38.  
  39.    Adresse électronique :
  40.             Laurent.Vivier@ufrima.imag.fr (jusqu'à juin 1994)
  41.             vivier@isis.imag.fr (idem)
  42.  
  43. Formats Supportés : GIF87a,GIF89a (entrelacé ou non), IFF .
  44. -------------------
  45.  
  46. The Graphic Interchange Format(c) is the Copyright property of
  47. CompuServe Incorporated. GIF(sm) is a Service Mark property of
  48. CompuServe Incorporated.
  49.  
  50. Utilisation :
  51. -------------
  52.  
  53.    L'utilisation de AIVE se fait uniquement à partir du CLI (ou Shell) .
  54. Le nom du fichier ainsi que les options d'affichage se font par passage
  55. des paramètres .
  56.  
  57. Paramètres supportés :
  58. ----------------------
  59.  
  60.    Les paramètres supportés sont affichés si on lance AIVE sans paramètres !
  61. Tous les paramètres doivent être saisis en minuscule .
  62.  
  63. AIVE name [hire|lore|ehb][nolace][grey][scale]
  64.           [width w][heighth][ratio a/b][color #colors]
  65.  
  66.    HIRE,LORE,EHB : spécifie le mode graphique à utiliser
  67.    HIRE : haute résolution
  68.    LORE : basse résolution
  69.    EHB  : Extra-Half-Bright
  70. Le mode d'affichage par défaut est HAM .
  71.  
  72. NOLACE : par défaut l'affichage se fait en mode entrelacé, cette option
  73.          l'inhibe .
  74.  
  75. GREY   : affiche l'image en niveau de gris (16 couleurs, HIRE)
  76.  
  77. COLOR n : permet d'indiquer le nombre de couleurs a utiliser (>= 8,
  78.           par défaut le maximum) . Conjugué avec GREY, indique le nombre
  79.           de niveaux de gris .
  80.  
  81. SCALE : l'image est automatiquement réduite pour rentrer entièrement dans
  82.         l'écran
  83.  
  84. WIDTH w : spécifie la largeur maximale de l'image
  85.  
  86. HEIGHT h : spécifie la hauteur maximale de l'image
  87.  
  88. RATIO a/b : rapport de déformation de l'écran .
  89.             Soit x et y, respectivement la largeur et la hauteur d'un
  90.             point élémentaire de l'écran, alors : y = x * (a/b)
  91.             par défaut : a/b = 1/2 en LORE (HAM,EHB)
  92.                              = 1/1 en LORE et NOLACE
  93.                              = 1/1 en HIRE
  94.                              = 2/1 en HIRE et NOLACE
  95.             Je suis bien conscient que ces coefficients ne sont pas
  96.             réalistes . Mais ceux-ci pouvant varier d'un écran à l'autre
  97.             en fonction des réglages, de la fréquence (NTSC/PAL),
  98.             d'une image à l'autre, toute autre valeur ne pourrait être
  99.             que spécifique à MON écran . Alors, à vous de faire le boulot
  100.             ( une méthode consiste à dessiner un rectangle a l'écran, même
  101.             nombre de points hauteur/largeur, de prendre un décimètre
  102.             pour mesurer ses côtes sur l'écran, et de faire le rapport)
  103.  
  104. Interface :
  105. -----------
  106.  
  107.    Après lancement, une fenêtre s'ouvre . On y trouve le nom de l'image en
  108. cours de chargement, son type (GIF87a, GIF89a, IFF ...), ses dimensions,
  109. ainsi qu'une barre reflétant la progression du décodage . Un bouton "Stop"
  110. permet d'arrèter la lecture, et de quitter le programme . Le recourci
  111. clavier est la touche "ESC", elle n'est active seulement si la fenêtre est
  112. sélectionnée (et non si l'image est sélectionnée !) .
  113.  
  114. A noter : Sous OS2.0, il est possible d'afficher des images plus grandes
  115. que l'écran; rien de spéciale n'a été fait pour les parcourir, la seule
  116. solution existante est celle donnée par le système, c'est-à-dire presser
  117. la touche Amiga Gauche en même temps que le bouton gauche de la souris,
  118. et déplacer la souris pour déplacer l'image .
  119.    Sous OS1.3, ce problème ne se rencontre pas : il est impossible d'ouvrir
  120. un écran plus grand, l'image est mise à l'échelle dans une taille standard
  121. (PAL ou NTSC) .
  122.  
  123.  
  124. Techniques Utilisées :
  125. ----------------------
  126.  
  127.    Toutes les images subissent un dithering de type Floyd-Steinberg, qui
  128. consiste en une propagation de l'erreur aux points voisins . Il est
  129. bidirectionnel dans tous les cas .
  130.                  
  131.    L'affichage en niveau de gris, qui je pense est ce que l'on peut faire
  132. de mieux sur un Amiga avec le chip set de base, utilise les coefficients de
  133. luminosité de la Commision Internationale de l'Eclairage (CIE), c'est-à-dire
  134. que chaque composante est pondérée par une valeur proche de la sensibilite de
  135. l'oeil, lors du calcul de la moyenne donnant l'intensité du niveau de gris .
  136.  
  137.    La recherche de la couleur la plus proche se fait en se projetant dans
  138. l'espace tridimensionel raporté aux composantes . Cela reviens à calculer
  139. la distance la plus courte dans cet espace . Cet espace est dilaté par les
  140. coefficients cités précédemment .
  141.  
  142.    L'extraction de la palette de couleurs se fait gràce à une méthode
  143. personnelle qui consiste à agglomérer les couleurs en ilots de proximité dans
  144. l'espace . On découpe l'espace en un nombre de sous-espaces, ce nombre est
  145. le nombre de couleurs désirées . La valeur de la couleur associée au
  146. sous-espace est le barycentre des couleurs de la palette d'origine contenu
  147. dans ce sous-espace .
  148.  
  149.    L'affichage a été accéléré par rapport à la version 1.0 en stockant les
  150. calculs au fur et à mesure de l'affichage (utilise une vingtaine de Ko en
  151. plus)
  152.  
  153.    La mise à l'échelle se fait gràce à une routine en assembleur n'utilisant
  154. aucun nombre en virgule flottante . La technique employée peut s'apparenter
  155. aux techniques utilisées pour faire de l'anti-aliasing .
  156.  
  157. Evolutions possibles :
  158. ----------------------
  159.  
  160.    - Lancement à partir du workbench .
  161.    - gamma correction (est-ce utile ?)
  162.    - implantation d'une option d'impression (utilisant toute la résolution
  163.      de l'imprimante) .
  164.    - implantation d'une option de sauvegarde .
  165.    - ajout des format PCX, BMP (très probable), JPEG (peu probable, à cause
  166.      de l'obligation de parcourir l'image pour extraire la palette)
  167.    - complétion de l'interface homme-machine sous intuition
  168.  
  169. Compatibilité :
  170. ---------------
  171.    Ce soft a commencé à être développer sous Kickstart 1.2, Workbench 1.3 .
  172. Lors de sa diffusion, son développement se faisait sous 2.0, il devrait donc
  173. fonctionner sous tous les systèmes . Il a été rapidement testé sous 2.0 avec
  174. émulateur kickstart 1.3, à première vue il ne parait pas y avoir de
  175. problèmes .
  176.  
  177.    Il se peut qu'il y ait des problèmes sur des machines comportant des
  178. cartes graphiques : je n'utilise pas la fonction WritePixel de la
  179. graphics.lib pour écrire à l'écran, mais écris directement en mémoire, dans
  180. un but de rapidité .
  181.  
  182.    Toutes l'activité de test s'est faite sur mon A500 :
  183.    carte mère rev 5a, OS2.0, 2 drives DDDS, 512 FAST, 512 CHIP .
  184.  
  185. Remerciements :
  186. ---------------
  187.  
  188.    Frédéric Elisei   Archimediste génial, qui a fourni de l'eau a mon moulin
  189.    Franck Lyonnet    idem
  190.                      Voyez leurs viewers JPEG sur Acorn Archimede 5000,
  191.                      qui tourne plus vite que n'importe quels viewers GIF
  192.                      sur Amiga (500 !) .
  193.    Roger Wilson      pour un article sur son soft ChangeFSI
  194.    Steven A. Bennet  auteur d'un décodeur GIF dont je me suis inspiré
  195.    Cindy Crowford    pour sa plastique superbe (motivante !)
  196.  
  197.    UFR Informatique  qui m'a permis de découvrir le réseau internet, et donc 
  198.    et mathématiques  l'accès a un nombre important d'informations
  199.    appliquées de     (Merci aux administrateurs système)
  200.    Grenoble          Venez étudier à Grenoble
  201.  
  202. Historique :
  203. ------------
  204. Janvier 1994   version 1.0    première distribution
  205. Janvier 1994   version 1.2    correction de 2 lègers bugs :
  206.                               - plantage sur des images de largeur impaire
  207.                               - légère correction du dithering pour éviter
  208.                                 un effet de saturation .
  209. Mars 1994      version 1.5    correction d'autres bugs :
  210.                               - impossibilité d'afficher en grey avec low
  211.                                 resolution .
  212.                               - impossibilité de faire un dégradé de gris
  213.                                 avec moins de 16 niveaux .
  214.                               Evolution :
  215.                               - Accélération du dithering (un gain de 2 ou 3)
  216.                               - mise en place des routines de changement
  217.                                 de taille de l'image
  218.  
  219. Auteur : Laurent Vivier
  220. --------
  221.